package com.ykdl.member.views;
//package com.ykdl.member.views;
//
//import java.util.Date;
//
//import android.app.Activity;
//import android.content.Context;
//import android.content.SharedPreferences;
//import android.content.SharedPreferences.Editor;
//import android.os.SystemClock;
//import android.util.AttributeSet;
//import android.view.LayoutInflater;
//import android.view.View;
//import android.widget.Button;
//import android.widget.Chronometer;
//import android.widget.Chronometer.OnChronometerTickListener;
//import android.widget.LinearLayout;
//import android.widget.TextView;
//import android.widget.Toast;
//
//import com.wxxr.app.base.QLog;
//import com.ykdl.member.kid.R;
//
//public class MyChronometer extends LinearLayout implements View.OnClickListener
//{
//	public static final int STATE_START = 100;
//	public static final int STATE_STOP = 101;
//	public static final int STATE_PAUSE = 102;
//	public static final int STATE_OTHER = 99;
//
//	public static final int SECOND_MILLISECOND = 1000;
//	public static final int MINUTE_MILLISECOND = 60 * SECOND_MILLISECOND;
//	public static final int HOUR_MILLISECOND = 60 * 60 * SECOND_MILLISECOND;
//
//	private Context mContext;
//	public SharedPreferences preferences;
//	private Chronometer mChronometer;
//
//	private Button mCancle;
//	private Button mDone;
//	private Button mStart;
//	private Button mStop;
//	private Button mPause;
//	private Button mGoOn;
//	private Button mReset;
//	private View view;
//	private TextView chronometer_title;
//
//	// 开始运行时间
//	private long mTimeStart;
//	// 运行的时长
//	private long mTimeLen;
//	// 退出时间
//	private long mTimeBack;
//	
//	private long mTimeGoOn;
//	// 状态
//	private int mState;
//	
//	//最长记录时间
//	private int dropTime;
//
//	// private Animation mPush_in, mPush_out;
//
//	private UpdateTimeListener listener;
//	private PauseListener pauseListener;
//
//	private String mPreferenceName;
//
//	public MyChronometer(Context context)
//	{
//		super(context);
//		// TODO Auto-generated constructor stub
//		init(context);
//	}
//
//	public MyChronometer(Context context, AttributeSet attrs)
//	{
//		super(context, attrs);
//		// TODO Auto-generated constructor stub
//		init(context);
//	}
//
//	private void init(Context context)
//	{
//		mContext = context;
//		LayoutInflater inflater = (LayoutInflater) context
//				.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
//		view = inflater.inflate(R.layout.chronometer_main, this);
//		view.setOnClickListener(new OnClickListener()
//		{
//
//			@Override
//			public void onClick(View v)
//			{
//				// FIXME onClick
//				QLog.debug("MyChronometer", "点击整个页面");
//			}
//
//		});
//		
//		//mTextView = (TextView) view.findViewById(R.id.chronometer_title);	
//		// mPush_in = AnimationUtils.loadAnimation(context, R.anim.push_in);
//		// mPush_out = AnimationUtils.loadAnimation(context, R.anim.push_out);
//		// mPush_out.setAnimationListener(new Animation.AnimationListener()
//		// {
//		//
//		// @Override
//		// public void onAnimationStart(Animation animation)
//		// {
//		// // TODO Auto-generated method stub
//		//
//		// }
//		//
//		// @Override
//		// public void onAnimationRepeat(Animation animation)
//		// {
//		// // TODO Auto-generated method stub
//		//
//		// }
//		//
//		// @Override
//		// public void onAnimationEnd(Animation animation)
//		// {
//		// MyChronometer.this.setVisibility(View.GONE);
//		// }
//		// });
//
//		findAllView(view);
//
//		MyChronometer.this.setVisibility(View.GONE);
//
//		mChronometer
//				.setOnChronometerTickListener(new OnChronometerTickListener()
//				{
//
//					@Override
//					public void onChronometerTick(Chronometer chronometer)
//					{
//						QLog.debug(chronometer.getText().toString());
//						String[] times = chronometer.getText().toString()
//							.split(":");
//						if(dropTime == 1){
//								if (times.length > 2)
//								{
//									mChronometer.stop();
//									mTimeGoOn = 0;
//									mState = STATE_STOP;
//									setState(mState);
//								}
//						}else if(dropTime == 20){
//								if(times.length > 2 && times[3].equals("20")){
//									mChronometer.stop();
//									mTimeGoOn = 0;
//									mState = STATE_STOP;
//									setState(mState);
//								}
//						}
//					}
//				});
//	}
//
//	private void findAllView(View view)
//	{
//		mChronometer = (Chronometer) view.findViewById(R.id.chronometer_view);
//
//		mCancle = (Button) view.findViewById(R.id.chronometer_cancel);
//		mCancle.setOnClickListener(this);
//		mDone = (Button) view.findViewById(R.id.chronometer_done);
//		mDone.setOnClickListener(this);
//		mStart = (Button) view.findViewById(R.id.chronometer_start);
//		mStart.setOnClickListener(this);
//		mStop = (Button) view.findViewById(R.id.chronometer_stop);
//		mStop.setOnClickListener(this);
//		mPause = (Button) view.findViewById(R.id.chronometer_pause);
//		mPause.setOnClickListener(this);
//		mGoOn = (Button) view.findViewById(R.id.chronometer_goon);
//		mGoOn.setOnClickListener(this);
//		mReset = (Button) view.findViewById(R.id.chronometer_reset);
//		mReset.setOnClickListener(this);
//		chronometer_title = (TextView) view.findViewById(R.id.chronometer_title);
//
//	}
//
//	public void setPreferenceName(String name)
//	{
//		mPreferenceName = name;
//	}
//	
//	public void setTitle(String title){
//		chronometer_title.setText(title);
//	}
//
//	public void SaveTime()
//	{
//		if (mPreferenceName != null)
//		{
//			preferences = mContext.getSharedPreferences(
//					mPreferenceName, Activity.MODE_PRIVATE);
//			Editor editor = preferences.edit();
//			editor.putInt("state", mState);
//
//			editor.putLong("timestart", mTimeStart);
//			mTimeLen = getTimeByString(mChronometer.getText().toString());
//			editor.putLong("timeLen", mTimeLen);
//
//			mTimeBack = System.currentTimeMillis();
//			editor.putLong("timeback", mTimeBack);
//			editor.putLong("timegoon", mTimeGoOn);
//			editor.commit();
//		}
//	}
//
//	public void getSaveTime(int dropTime)
//	{
//		this.dropTime = dropTime;
//		if (mPreferenceName != null)
//		{
//			preferences = mContext.getSharedPreferences(
//					mPreferenceName, Activity.MODE_PRIVATE);
//			mState = preferences.getInt("state", STATE_OTHER);
//			mTimeLen = preferences.getLong("timeLen", 0);
//			mTimeBack = preferences.getLong("timeback", 0);
//			mTimeStart = preferences.getLong("timestart", new Date().getTime());
//			mTimeGoOn = preferences.getLong("timegoon", 0);
//
//			if (mState == STATE_START && mTimeLen + System.currentTimeMillis() - mTimeBack >= dropTime
//					* HOUR_MILLISECOND)
//			{
//				mTimeLen = 0;
//				reset();
//				Toast.makeText(mContext, "亲,您上次计时无效了哦!", Toast.LENGTH_SHORT).show();
//			} else
//			{
//				if (mState == STATE_START)
//				{
//					mTimeLen += System.currentTimeMillis() - mTimeBack;
//				}
//				mChronometer.setBase(SystemClock.elapsedRealtime() - mTimeLen);
//				if (mState == STATE_START)
//				{
//					mChronometer.start();
//				}
//				setState(mState);
//			}
//			if (mState != STATE_OTHER)
//			{
//				this.setMyVisible();
//			}
//			preferences.edit().clear().commit();
//		}
//	}
//
//	public void setState(int state)
//	{
//		switch (state)
//		{
//		case STATE_START:
//		{
//			setInvisible(mStop);
//			setInvisible(mGoOn);
//			setInvisible(mStart);
//			setVisible(mStop);
//			setVisible(mPause);
//		}
//			break;
//		case STATE_STOP:
//		{
//			setInvisible(mStart);
//			setInvisible(mStop);
//			setInvisible(mPause);
//			setInvisible(mGoOn);
//			setVisible(mReset);
//		}
//			break;
//		case STATE_PAUSE:
//		{
//			setInvisible(mPause);
//			setVisible(mGoOn);
//			setVisible(mStop);
//			setInvisible(mStart);
//			setInvisible(mReset);
//		}
//			break;
//		case STATE_OTHER:
//		{
//			setVisible(mStart);
//			setInvisible(mStop);
//			setInvisible(mPause);
//			setInvisible(mGoOn);
//			setInvisible(mReset);
//		}
//			break;
//		}
//	}
//
//	public long getTimeByString(String time)
//	{
//		String[] times = time.split(":");
//		long result = 0;
//		if (times.length == 3)
//		{
//			result += Integer.valueOf(times[0]) * HOUR_MILLISECOND;
//			result += Integer.valueOf(times[1]) * MINUTE_MILLISECOND;
//			result += Integer.valueOf(times[2]) * SECOND_MILLISECOND;
//		} else if (times.length == 2)
//		{
//			result += Integer.valueOf(times[0]) * MINUTE_MILLISECOND;
//			result += Integer.valueOf(times[1]) * SECOND_MILLISECOND;
//		}
//
//		return result;
//	}
//
//	@Override
//	public void onClick(View v)
//	{
//		switch (v.getId())
//		{
//		case R.id.chronometer_cancel:
//		{
//			mState = STATE_OTHER;
//			setMyGone();
//			reset();
//		}
//			break;
//		case R.id.chronometer_done:
//		{
//			if (listener != null)
//			{
//				String time = mChronometer.getText().toString();
//				listener.onUpdate(time, mTimeStart, mTimeGoOn);
//			}
//			setMyGone();
//			reset();
//		}
//			break;
//		case R.id.chronometer_start:
//		{
//			mChronometer.setBase(SystemClock.elapsedRealtime());
//			mChronometer.start();
//			mState = STATE_START;
//			mTimeStart = new Date().getTime();
//			setState(mState);
//		}
//			break;
//		case R.id.chronometer_stop:
//		{
//			mChronometer.stop();
//			mState = STATE_STOP;
//			setState(mState);
//			if(pauseListener != null){
//				if(mTimeGoOn !=0 && (new Date().getTime() -mTimeGoOn) > 30 * MINUTE_MILLISECOND){
//					pauseListener.onPause(mTimeStart, mTimeGoOn);
//				}
//			}
//		}
//			break;
//		case R.id.chronometer_pause:
//		{
//			mChronometer.stop();
//			mTimeLen = getTimeByString(mChronometer.getText().toString());
//			mState = STATE_PAUSE;
//			setState(mState);
//			if(pauseListener != null){
//				if(mTimeGoOn == 0){
//					mTimeGoOn = mTimeStart;
//				}
//				if((new Date().getTime() -mTimeGoOn) > 30 * MINUTE_MILLISECOND){
//					pauseListener.onPause(mTimeStart, mTimeGoOn);
//				}
//			}
//		}
//			break;
//		case R.id.chronometer_goon:
//		{
//			mChronometer.setBase(SystemClock.elapsedRealtime() - mTimeLen);
//			mChronometer.start();
//			mTimeGoOn = new Date().getTime();
//			setInvisible(mGoOn);
//			setVisible(mPause);
//
//			mState = STATE_START;
//			setState(mState);
//		}
//			break;
//		case R.id.chronometer_reset:
//		{
//			reset();
//			mChronometer.setBase(SystemClock.elapsedRealtime());
//		}
//			break;
//		}
//
//	}
//
//	private void reset()
//	{
//		mChronometer.stop();
//		mChronometer.setBase(SystemClock.elapsedRealtime());
//		mTimeGoOn = 0;
//		mState = STATE_OTHER;
//		setState(mState);
//	}
//
//	public int getmState()
//	{
//		return mState;
//	}
//
//	public void setInvisible(View view)
//	{
//		if (view.getVisibility() == View.VISIBLE)
//		{
//			view.setVisibility(View.INVISIBLE);
//		}
//	}
//
//	public void setVisible(View view)
//	{
//		if (view.getVisibility() == View.INVISIBLE)
//		{
//			view.setVisibility(View.VISIBLE);
//		}
//	}
//
//	public int getMyVisibility()
//	{
//		return MyChronometer.this.getVisibility();
//	}
//
//	public void setMyVisible()
//	{
//		if (getMyVisibility() == View.GONE)
//		{
//			// MyChronometer.this.startAnimation(mPush_in);
//			MyChronometer.this.setVisibility(View.VISIBLE);
//		}
//	}
//
//	public void setMyGone()
//	{
//		if (getMyVisibility() == View.VISIBLE)
//		{
//			// MyChronometer.this.startAnimation(mPush_out);
//			MyChronometer.this.setVisibility(View.GONE);
//		}
//
//	}
//
//	public void setUpdateTimeListener(UpdateTimeListener listener)
//	{
//		this.listener = listener;
//	}
//
//	public void setPuaseListener(PauseListener pauseListener){
//		this.pauseListener = pauseListener;
//	}
//	
//	public interface UpdateTimeListener
//	{
//		public void onUpdate(String time, long mStartTime, long mTimeGonOn);
//	}
//	
//	public interface PauseListener{
//		public String onPause(long mStartTime, long mTimeGoOn);
//	}
//	
//}
